Services that deliver software functionality or access to remote resources and that can be programmatically accessed over a network are attracting in-creasing interest in the academic and industrial research communities, for several reasons. Such services, referred to herein as “e-Services”, may be thought of as a component technology for building distributed applications, or as a mechanism for distributed systems integration. In addition, software services can help build and deploy “e-utilities” (see Vijay Naik, Giovanni Pacifici, Asser Tantawi, Alaa Youssef, Mangala Gowri, Ashish Kundu, and Pradeep Varma, “eUtopia: A Framework for Managing Web Utility Services”, in Proceedings of the OOPSLA Workshop on Object-Oriented Web Services, Tampa, USA, October 2001). The e-utilities paradigm envisages on-demand delivery of software and computing power to end-users over the Internet—analogous to traditional utilities such as electricity and telephone service.
“Web services” comprising software services that are accessible via the World Wide Web have emerged as the technology of choice for this paradigm. Web services are described in S. Graham, S. Simeonov, T. Boubez, G. Daniels, D. Davis, Y. Nakamura, and R. Neyama, “Building Web Services with Java: Making Sense of XML, SOAP, WSDL, and UDDI”, Sams, 2001. Usually, a specific set of Web-related standards are used such as SOAP for messaging, HTTP as the transport mechanism, WSDL for service description, and UDDI for service registration and discovery. However, other kinds of e-Services are also gaining importance. For example, grid services are an emerging mechanism for making distributed, heterogeneous resources available to end-users over a network—as described in I. Foster, C. Kesselman, J. Nick, and S. Tuecke, “The Physiology of the Grid: An Open Grid Services Architecture for Distributed Systems Integration”, January 2002. Grid computing middleware enables the transparent sharing of such resources, typically within closed communities (known as virtual organizations). Such middleware is described in S. Tuecke, K. Czajkowski, I. Foster, J. Frey, S. Graham, and C. Kesselman, Grid Service Specification, February 2002.
As more and more e-services are built for commercial purposes, they will inevitably be fee-based—a service provider will levy a charge for using a service. This implies a need for metering and accounting of service usage. Even in non-commercial settings, metering and accounting are needed for enforcing site-specific policies such as usage quotas.
The metering and accounting problem is more complex when the service required to satisfy a request is a composite of a number of (typically simpler) underlying services, each of which may be autonomously owned and operated. There is a need in the art for metering and accounting solutions which address these requirements and provide improved usage metering and accounting for composite services.
Metering and accounting systems have existed in various forms in the pre-services world. Operating systems such as UNIX™-compliant operating systems perform rudimentary accounting of resource usage. For example, per-user disk usage is tracked and quotas can be enforced. IBM Corporation's z/OS operating system's MVS System Management Facilities provide detailed logs of resource usage on a per-process basis, and provide utilities to generate accounting information using these logs. However, these accounting mechanisms do not apply in the services domain, where per-request metering is desirable. IBM, z/OS and MVS are trademarks of IBM Corporation.
U.S. Pat. No. 6,266,401 discloses a system and method for billing in telephony networks —generating a single invoice for various telephony services used by a user, such as voice, paging, data, etc. U.S. Pat. No. 6,266,401 does not disclose metering and accounting for more general networks and services, nor the problems of metering and accounting for composite services.
Published U.S. Patent Application No. 2002/0083003 discloses time or usage based metering of a client application, or application feature usage, and the reporting of this use to a site on a public network. A set of metering monitor programs receive and batch tool usage information for communication to a Metering server program which collates the information and applies the collated information in the form of credit deductions from a user's credit pool. There is no disclosure of the problems of per-request accounting for composite services.
W. Eibach and D. Kuebler, “Metering and accounting for Web services—a dynamic e-business solution”, IBM Corporation, July 2001, describes metering Web service usage, and the subsequent accounting and billing in accordance with a pricing model using the metric of response time, but does not describe a solution for metering and accounting of composite services which invoke underlying services.
A. Sahai, J. Ouyang and V. Machiraju, “Extending ARM for End-to-End Correlation and Optimization of E-service Transactions”, HPL-2000-168, Hewlett Packard Laboratories, Dec. 11, 2000 discloses extending Application Response Measurement for correlation of transactions spanning multiple e-Services. Correlation for transactions spanning multiple e-Services is disclosed, but there is no disclosure in HPL-2000-168 of a service-usage accounting solution. In particular, there is no disclosure of a service-usage metering and accounting solution which provides per-request accounting for composite services.
A. Sahai, J. Ouyang, V. Machiraju and K. Wurster, “End-to-End E-service Transaction and Conversation Management through Distributed Correlation”, HPL-2000-145, Hewlett Packard Laboratories, Nov. 7, 2000 describes a distributed correlation approach for correlation of conversations and transactions spanning multiple distributed services. There is no disclosure in HPL-2000-0145 of a service-usage metering and accounting solution which provides per-request accounting for composite services. U.S. Pat. No. 6,405,251 discloses a system for collecting and aggregating data from network entities for a data consuming application. The system includes a data collector layer to receive network flow information from the network entities and to produce records based on the information. The system also includes a flow aggregation layer fed from the data collection layer and coupled to a storage device. The flow aggregation layer receives records produced by the data collector layer and aggregates received records. U.S. Pat. No. 6,405,251 discloses an accounting process receiving different types of data from the network via the data collector layer and assembling the data into an accounting record that can be used by billing or other user-defined data consuming applications. Although U.S. Pat. No. 6,405,251 discloses aggregation of data from separate sources, such as for billing of total network usage, there is no disclosure of a solution for providing per-request accounting for usage of composite services.
WO 00/22806 discloses an accounting framework for a communications system having a plurality of service providers. Accounting units including usage data are exchanged between service providers to allow charging for usage of services. Consolidated billing is disclosed for groups of subscribers, but there is no disclosure of a solution for per-request metering and accounting for composite services.
WO 96/18939 discloses monitoring of software usage, and determining a cumulative usage value for a function group. There is no disclosure of a solution for per-request metering and accounting for composite services.